home *** CD-ROM | disk | FTP | other *** search
Wrap
property pMyDegrees, pMyDirection, pDeltaAngle, pMyOrigLoc, pMyChnl, pMySpeed, pMyCounter global cDlgSndChnl on getBehaviorDescription me text = "Moves the sprite in clockwise or anticlockwise direction" put "depending on the change in angle (+ve or -ve)." after text return text end on getPropertyDescriptionList me list = [:] addProp(list, #pDeltaAngle, [#comment: "Change in Angle", #format: #number, #range: [#min: -10, #max: 10], #default: 0]) return list end on beginSprite me pMyChnl = me.spriteNum pMyCounter = 0 pMyDirection = random(2) - 1 curMem = sprite(pMyChnl).member if (curMem <> member("FloatyScutRight")) and (curMem <> member("FloatyScutLeft")) and (curMem <> member("Floaty1")) and (curMem <> member("Fishbowl")) then pMySpeed = 2 + random(5) else pMySpeed = 1 + random(2) end if if pMyDirection = 1 then pMyLoc = point(-50, random(600)) if pMyLoc[2] < 300 then pMyDegrees = 20 + random(50) else pMyDegrees = 290 + random(50) end if if curMem = member("FloatyScutLeft") then sprite(pMyChnl).member = member("FloatyScutRight") else if curMem = member("Floaty1") then sprite(pMyChnl).flipH = 1 end if end if else if pMyDirection = 0 then pMyLoc = point(850, random(600)) if pMyLoc[2] < 300 then pMyDegrees = 110 + random(50) else pMyDegrees = 200 + random(50) end if if (curMem = member("Rocket")) or (curMem = member("Sputnix")) then sprite(pMyChnl).flipH = 1 end if if curMem = member("Fishbowl") then sendSprite(pMyChnl - 1, #flipMe) end if end if end if sprite(pMyChnl).loc = pMyLoc end on stepFrame me curMem = sprite(pMyChnl).member newH = integer(sprite(pMyChnl).locH + (pMySpeed * cos(degreesToRadians(pMyDegrees)))) newV = integer(sprite(pMyChnl).locV + (pMySpeed * sin(degreesToRadians(pMyDegrees)))) if not soundBusy(cDlgSndChnl) and ((curMem = member("FloatyScutRight")) or (curMem = member("FloatyScutLeft"))) then sprite(pMyChnl).member = member("Floaty1") end if if newV < -20 then if pMyDirection = 1 then pMyDegrees = 20 + random(50) else if pMyDirection = 0 then pMyDegrees = 110 + random(50) end if end if curMem = sprite(pMyChnl).member else if newV > 620 then if pMyDirection = 1 then pMyDegrees = 290 + random(50) else if pMyDirection = 0 then pMyDegrees = 200 + random(50) end if end if curMem = sprite(pMyChnl).member else if (pMyDirection = 1) and (newH > 850) then pMyDirection = not pMyDirection newH = 900 newV = random(600) if newV < 300 then pMyDegrees = 110 + random(50) else pMyDegrees = 200 + random(50) end if swapFloaty() if (curMem = member("Rocket")) or (curMem = member("Sputnix")) then sprite(pMyChnl).flipH = 1 else if curMem = member("FloatyScutRight") then sprite(pMyChnl).member = member("FloatyScutLeft") else if curMem = member("Floaty1") then sprite(pMyChnl).flipH = 0 else if curMem = member("Fishbowl") then sendSprite(pMyChnl - 1, #flipMe) end if end if end if end if else if (pMyDirection = 0) and (newH < -50) then pMyDirection = not pMyDirection newH = -100 newV = random(600) if newV < 300 then pMyDegrees = 20 + random(50) else pMyDegrees = 290 + random(50) end if swapFloaty() if (curMem = member("Rocket")) or (curMem = member("Sputnix")) then sprite(pMyChnl).flipH = 0 else if curMem = member("FloatyScutLeft") then sprite(pMyChnl).member = member("FloatyScutRight") else if curMem = member("Floaty1") then sprite(pMyChnl).flipH = 1 else if curMem = member("Fishbowl") then sendSprite(pMyChnl - 1, #flipMe) end if end if end if end if end if end if end if end if if pDeltaAngle <> 0 then if pMyDirection = 1 then newAngle = sprite(pMyChnl).rotation + pDeltaAngle else if pMyDirection = 0 then newAngle = sprite(pMyChnl).rotation - pDeltaAngle end if end if if newAngle < 0 then newAngle = 360 + newAngle end if if newAngle > 360 then newAngle = newAngle - 360 end if sprite(pMyChnl).rotation = newAngle end if sprite(pMyChnl).loc = point(newH, newV) end on GetAngle me return pMyDegrees end on swapFloaty curMem = sprite(pMyChnl).member if curMem = member("Baskball") then sprite(pMyChnl).member = member("Tennisball") pDeltaAngle = 10 else if curMem = member("Tennisball") then sprite(pMyChnl).member = member("Planet") pDeltaAngle = -5 else if curMem = member("Planet") then sprite(pMyChnl).member = member("Rocket") pDeltaAngle = 0 sprite(pMyChnl).rotation = 0 else if curMem = member("Rocket") then sprite(pMyChnl).member = member("Sputnix") pDeltaAngle = 0 sprite(pMyChnl).rotation = 0 else if curMem = member("Sputnix") then sprite(pMyChnl).member = member("BaskBall") pDeltaAngle = 10 end if end if end if end if end if end